package redisClient

import (
	"time"

	"github.com/beego/beego/v2/server/web"
	"github.com/garyburd/redigo/redis"
)

// 直接连接
func Connect() redis.Conn {
	redisdb, _ := web.AppConfig.String("redisdb")
	pool, _ := redis.Dial("tcp", redisdb)
	return pool
}

// 连接池连接redis （都用这个）
func PoolConnect() redis.Conn {
	// 读取配置文件
	redisdb, _ := web.AppConfig.String("redisdb")
	pool := &redis.Pool{
		MaxIdle:         1,  //最大空闲连接数
		MaxConnLifetime: 10, //最大连接数
		IdleTimeout:     180 * time.Second,
		Wait:            true, //超过最大连接数是等待还是报错 （true等待）
		Dial: func() (redis.Conn, error) {
			c, err := redis.Dial("tcp", redisdb)
			if err != nil {
				return nil, err
			}
			return c, nil
		},
	}

	return pool.Get()
}
